package com.fowo.api.model.warehouse;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import javax.validation.constraints.*;
import lombok.Data;

/**
 * 仓位 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Data
public class WarehouseBinImportPo {

  /** 仓库id */
  @ExcelProperty("仓库id")
  @Size(max = 50, message = "仓库id长度不能超过50")
  private String warehouseId;

  /** 仓位名称 */
  @ExcelProperty("仓位名称")
  @Size(max = 50, message = "仓位名称长度不能超过50")
  private String name;

  /** 仓位编码 */
  @ExcelProperty("仓位编码")
  @Size(max = 50, message = "仓位编码长度不能超过50")
  private String storageBin;

  /** 区域 */
  @ExcelProperty("区域")
  @Size(max = 50, message = "区域长度不能超过50")
  private String address;

  /** 总容量 */
  @ExcelProperty("总容量")
  @LongString(message = "总容量数值格式不正确", label = "总容量")
  private String capacity;

  /** 剩余容量 */
  @ExcelProperty("剩余容量")
  @LongString(message = "剩余容量数值格式不正确", label = "剩余容量")
  private String surplusCapacity;

  /** 状态 */
  @ExcelProperty("状态")
  @EnumsString(
    value = { "启用", "禁用" },
    message = "状态只能是“启用”, “禁用”中的一个"
  )
  private String status;

  /** 设置绑定sku(最大能绑定几个sku) */
  @ExcelProperty("设置绑定sku(最大能绑定几个sku)")
  @IntegerString(
    message = "设置绑定sku(最大能绑定几个sku)数值格式不正确",
    label = "设置绑定sku(最大能绑定几个sku)"
  )
  private String availableSku;

  /** 已经绑定的数量 */
  @ExcelProperty("已经绑定的数量")
  @IntegerString(
    message = "已经绑定的数量数值格式不正确",
    label = "已经绑定的数量",
    min = 0
  )
  private String usedQuantity;

  /** 仓位类型 */
  @ExcelProperty("仓位类型")
  private String type;
}
